import axios from 'axios'
//导入进度条
import nProgress  from 'nprogress'

import "nprogress/nprogress.css"
import store from '@/store'
//对axios进行二次封装
const requests = axios.create({
  baseURL: '/api',
  timeout: 5000,
})
//请求拦截器
requests.interceptors.request.use((config) => {
  nProgress.start();
  //请求头添加一个字段（userTempId）：和后台商量好的临时id：uuid_token，获得唯一的游客身份，通过该身份获取相应的购物车信息
  if(store.state.detail.uuid_token){
    config.headers.userTempId=store.state.detail.uuid_token
  }
  // 携带token给服务器，请求头添加token字段,与userTempId一样，token的名字是服务器要求的不能更改的
  if(store.state.user.token){
    config.headers.token=store.state.user.token
  }
  return config
})
//响应拦截器
requests.interceptors.response.use(
  (res) => {
    nProgress.done();
    
    return res.data
  },
  () => {
    return Promise.reject(new Error('false'))
  }
)
export default requests
